Two-dimensional concatenated block codes are widely used at 10 G, for example those defined in annexes 1.4, 1.7, and 1.9 of ITU-T G.975.1. FIG. 1 shows a generic 2-D code, in which every bit is covered by two block codes. Decoding proceeds by correcting each row, then each column, and iterating. This is an excellent strategy, but each row is covered only by the columns, and each column only by the rows.
As data rates have risen to 40 G and 100 G, a forward error correction (FEC) stronger than the standard RS(255,239) has become necessary on a majority of links. At 10 G and 40 G, this has resulted in the implementation of a variety of strong, proprietary Intra Domain Interface (IaDI) FECs that do not interoperate.
It is, therefore, desirable to provide an improved FEC.